package edu.duixiang;
/*变量分欸成员变量和静态变量，同样的，方法也分为成员方法和静态方法
* 静态方法就是被static修饰的方法，静态方法在类创建后生命周期与类一样
* 使用时可以通过类名进行静态方法的调用，例如：类名.静态方法名
* 成员方法可以调用静态方法
* 静态方法不可以调用成员方法
* 理由是：成员方法调用的对象是一定存在的
* 而静态方法时对象是不一定存在的
* 二者生命周期不一样*/


public class StaticDemo {
    //例子
    //进行两个窗口售票，两个窗口总共就只售10张票
    String name;
    static int ticket = 10;      //《利用static可以实现两个窗口共享使用，这也是static的方法之一》

    StaticDemo(String name) {
        this.name = name;
    }

    void sell() {
       // while (ticket > 0) {
            ticket--;
            System.out.println(name + "剩余票数" + ticket);
      //  }
    }

    public static void main(String[] args) {
        StaticDemo demo1 = new StaticDemo("第一个窗口");
        StaticDemo demo2 = new StaticDemo("第二个窗口");//作为静态的main方法不能直接访问成员变量
        while (ticket > 0) {
            demo1.sell();
            demo2.sell();//让两个窗口能够一块售票，所以把循环换到这里来，并且把sell中的循环注释掉，意思就是只要票还有剩余，两个窗口就交替售票
        }
    }
}
